%#############%###++###################%%%#######%##################%
%########%%##%@%##+=+*################%##%##########################%
%########%%##%%%#+===*##%##############%############################%
%########%%%##%#++=--*%###############%########%###%%%%##%%%####%###%
%##%#####%%%###*+=---=#######################%##%###%#%#%###%%%#%###%
%###%####%#@@%########%#####%#########%####%#%#####%##%#%##%%###%###%
%#%%#####%*##%#####%##%#####################%%###%%#%%%#%#%###%%%%%#%
%##%####%*+##%*+*#%%#+######################%##%####%#%%%##%#######%%
%######%%++#%%%##%%%*=+%##############%#####%##%#######%#########%##%
%######%*=+*%%#%#%%%*+=########################%####################%
###**##%#+++#%#%#%%%*+=*############################################%
%######*########%#%@#++*############################################%
%#####%##%%%##%%%###############%######%############################%
%#####%#%#%%###################################%%%%%%%#%%#%#%%%%%%%%%
###############################################%%%%%%%%%%%%%%####***#
#**###*###**###*+****###**#######*####*####%%%####***+++++++++=====-+
*++*++++=:-*+=:...-=+******+++++++***+*#%%#*+++++++++++===---:::....-
====++=+=++#############%%%%%#+=====*#%#*+*####****+++==---:::....  -
#######*****++*******+++++*#%%@%+*#%#***#%%%%##***+++===--:::...    :
****#######%%%%%%%####*#*++++*%@%#**#%%%%%%%%%#***+++==---:::.......=
%%%%%%%%%%%%%%%%%###*+==+#*++++**#%%%%%%%%%%%%*++++=================+
%%%%%%%%%#########*++===-=*#**#%%%%%%%%%%%#*+=======================+
%############**###*********%@@@@@@@@@@@@%#**************************#